E) Variable Parameter Template

void create(){
instance=new Type{};
}
template <typename T0>
void create(T0 arg0){
instance=new Type{arg0};
}
template <typename T0, typename T1>
void create(T0 arg0, T1 arg1){
instance=new Type{arg0, arg1};
}
template <typename T0, typename T1, typename T2>
void create(T0 arg0, T1 arg1, T2 arg2){
instance=new Type{arg0, arg1, arg2};
}
가변 인자 템플릿
template <typename ...Args>
void create(Args... args){
instance=new Type{args...};
}